{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d7a11af9",
   "metadata": {},
   "source": [
    "## 初始化环境"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "4665c898",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 在jupyter notebook里env.render看不到窗口\n",
    "# 写一个helper类，用matplotlib刷新显示图像\n",
    "# 初始化传入env，调用helper的render即可\n",
    "from IPython import display # 导入display模块，用于在Jupyter Notebook中显示图像\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt # 导入matplotlib库，用于绘制图像\n",
    "%matplotlib inline\n",
    "\n",
    "class GymHelper:\n",
    "    def __init__(self, env, figsize = (3, 3)):\n",
    "        self.env = env # 初始化Gym环境\n",
    "        self.figsize = figsize # 初始化绘图窗口大小\n",
    "        plt.figure(figsize = figsize) # 创建绘图窗口\n",
    "        plt.title(self.env.spec.id) # 标题设为环境名\n",
    "        self.img = plt.imshow(env.render()) # 在绘图窗口中显示初始图像\n",
    "    \n",
    "    def render(self, title = None):\n",
    "        image_data = self.env.render() # 获取当前环境图像渲染数据\n",
    "        \n",
    "        self.img.set_data(image_data) # 更新绘图窗口中的图像数据\n",
    "        display.display(plt.gcf()) # 刷新显示\n",
    "        display.clear_output(wait = True) # 有新图片时再清除绘图窗口原有图像\n",
    "        if title: # 如果有标题，就显示标题\n",
    "            plt.title(title)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "06599c22",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 216x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import gym\n",
    "import time\n",
    "import numpy as np\n",
    "from gym.envs.toy_text.frozen_lake import generate_random_map\n",
    "\n",
    "# 设置随机数种子\n",
    "np.random.seed(233)\n",
    "\n",
    "# 创建FrozenLake环境\n",
    "env = gym.make('FrozenLake-v1', desc=generate_random_map(size=4), is_slippery=False, render_mode=\"rgb_array\")\n",
    "\n",
    "# 重置环境状态\n",
    "env.reset()\n",
    "\n",
    "# 创建GymHelper对象来辅助显示\n",
    "gym_helper = GymHelper(env)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "02c334e2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 216x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 重置环境，开始新的一轮游戏\n",
    "observation, _ = env.reset()\n",
    "# 创建GymHelper对象来辅助显示\n",
    "gym_helper = GymHelper(env, figsize = (3, 3))\n",
    "\n",
    "# 进行10步的游戏\n",
    "for i in range(20):\n",
    "    # 渲染环境，title为当前步骤数\n",
    "    gym_helper.render(title = str(i))\n",
    "    \n",
    "    # 通过已经求得的Q值表，找到当前状态下的最优动作\n",
    "    action = env.action_space.sample()\n",
    "    # 执行action，获取新的信息\n",
    "    observation, reward, terminated, truncated, info = env.step(action)\n",
    "        \n",
    "    time.sleep(0.5)\n",
    "    \n",
    "    # 如果游戏结束，则结束当前循环\n",
    "    if terminated or truncated:\n",
    "        break\n",
    "\n",
    "# 游戏结束\n",
    "gym_helper.render(title = \"Finished\")\n",
    "# 关闭环境\n",
    "env.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54262313",
   "metadata": {},
   "source": [
    "## Dyna-Q算法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "1d6d4ae4",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import random\n",
    "\n",
    "class DynaQ:\n",
    "    \"\"\" Dyna-Q算法 \"\"\"\n",
    "    def __init__(self, env, epsilon, alpha, gamma, n_planning):\n",
    "        self.n_action = env.action_space.n  # 动作个数\n",
    "        self.n_space = env.observation_space.n # 环境状态个数\n",
    "        self.Q_table = np.zeros([self.n_space, self.n_action])  # 初始化Q(s,a)表格\n",
    "        self.alpha = alpha  # 学习率\n",
    "        self.gamma = gamma  # 折扣因子\n",
    "        self.epsilon = epsilon  # epsilon-贪婪策略中的参数\n",
    "        self.n_planning = n_planning  #执行Q-planning的次数,\n",
    "        self.model = dict()  # 环境模型（存储历史样本）\n",
    "\n",
    "    def choose_action(self, state):  # 选取下一步的操作\n",
    "        if np.random.random() < self.epsilon:\n",
    "            action = np.random.randint(self.n_action)\n",
    "        else:\n",
    "            action = np.argmax(self.Q_table[state])\n",
    "        return action\n",
    "\n",
    "    def q_learning(self, state, action, reward, next_state):\n",
    "        td_error = reward + self.gamma * self.Q_table[next_state].max() - self.Q_table[state, action]\n",
    "        self.Q_table[state, action] += self.alpha * td_error # 更新Q值\n",
    "\n",
    "    def update(self, state, action, reward, next_state):\n",
    "        self.q_learning(state, action, reward, next_state)\n",
    "        self.model[(state, action)] = reward, next_state  # 将数据添加到模型中\n",
    "        for n in range(self.n_planning):  # Q-planning循环\n",
    "            # 随机选择曾经遇到过的状态动作对\n",
    "            (state, action), (reward, next_state) = random.choice(list(self.model.items()))\n",
    "            self.q_learning(state, action, reward, next_state)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9bf8ab16",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 超参数定义\n",
    "num_episodes = 100  # 总回合数\n",
    "epsilon = 0.01 # 以epsilon的概率随机选择动作\n",
    "alpha = 0.1 # 学习率\n",
    "gamma = 0.9 # 折扣因子\n",
    "n_planning_list = [0, 2, 20] # planning step数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "fd2072e3",
   "metadata": {},
   "outputs": [],
   "source": [
    "def DynaQ_FrozenLake(env, agent):\n",
    "    # 记录每个回合的总奖励\n",
    "    total_reward = []\n",
    "    for i in range(num_episodes):\n",
    "        # 当前回合的总奖励\n",
    "        sum_reward = 0\n",
    "        # 初始化环境并获取初始状态\n",
    "        state, _ = env.reset()\n",
    "\n",
    "        while True:\n",
    "            action = agent.choose_action(state)\n",
    "            next_state, reward, terminated, truncated, info = env.step(action)\n",
    "            # 判断是否达到终止状态\n",
    "            done = terminated or truncated\n",
    "\n",
    "            # 对于FrozenLake的佛系默认环境，适当调整奖励\n",
    "            if 'FrozenLake' in env.spec.id:\n",
    "                if terminated and reward == 1: # 游戏终止且reward为1表示到达终点，给予高额奖励\n",
    "                    reward = 100\n",
    "                elif terminated and reward == 0: # 游戏终止且reward为0表示掉进冰洞，给予反向奖励\n",
    "                    reward = -100\n",
    "                else: # 每走一步奖励为-1，其实是鼓励agent尽快完成任务\n",
    "                    reward = -1\n",
    "                    \n",
    "            # 累加奖励\n",
    "            sum_reward += reward  # 这里回报的计算不进行折扣因子衰减\n",
    "            # 更新模型\n",
    "            agent.update(state, action, reward, next_state)\n",
    "            # 更新当前状态\n",
    "            state = next_state\n",
    "            if done:\n",
    "                break\n",
    "        total_reward.append(sum_reward)\n",
    "    return total_reward"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "52244377",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEWCAYAAACaBstRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8+yak3AAAACXBIWXMAAAsTAAALEwEAmpwYAABEN0lEQVR4nO2dd7gU5dm472d299B7EeQgoKBSRQXsqDHGFks0tthiEok/NaZHjV+i5ostyfclnzEx0VhiVLDEgorGXhNRbCCoASkBROkI0nZnnt8fM7Nnds/uYU/b3Tk893Xttbszs7PvtPd5n/qKqmIYhmEYpeBUugGGYRhGfDChYRiGYZSMCQ3DMAyjZExoGIZhGCVjQsMwDMMoGRMahmEYRsmY0DAMo0URkUNEZEml22G0DiY0jLIiIgtFZJOIrBeRtSLyTxE5X0Qqdi+KyAgRmSoi64J2PSci+5bpv68UkbSIbIi8flKO/94WIvJ1EXml0u0wqgsTGkYlOFZVuwCDgOuAS4BbK9EQEdkFeBWYBQwBdgQeBp4WkQllasa9qto58vpVgXYmytQWw2gQExpGxVDVdao6FTgVOEdERonIeBH5NNpJisiJIvJu8PlKEblPRO4MtILZIjIusu2lIvJRsG6OiHxlG824EviXql6uqqtVdb2q3gDcBVxf7Ecicp6IzBOR1YGWsmNknQba09xAm/qDiEhjzo2I3CEiN4nINBH5HDhURIaLyAvBPmeLyHHBtjvmaSobRUQj+/qGiLwvImtE5B8iMqi5bRWRc4N9rheR+SLy7Qa2vTi4FrUi0k5EfiMi/wmu859EpENjzo1RWUxoGBVHVV8HlgAHqeobwCrgS5FNzgLujHw/DpgCdAemAjdG1n0EHAR0A64C7hKR/g38/eHA/QWW3wccJCLt81eIyBeAa4FTgP7AoqA9Ub4MjAfGBNsd0UAbivE14GqgCzAdeBR4CugLfAe4W0R2U9WPo5oK8FDYHhE5HvgpcCLQB3gZmNwCbV0e/K4rcC7wWxHZK38jEfk58HXgYFVdgq9Z7gqMBYYCA4Cfl/B/RpVgQsOoFj4Gegaf/wqcCSAiPfE7sXsi276iqtNU1QX+BuwRrlDV+4NO1FPVe4G5QENmpt7AsgLLlwGJSJuinAHcpqpvqeoW4DJgPxEZHNnmOlVdq6r/AZ7H7ySLcUowyg9fodbyiKq+qqpe8PvOwX63qupzwGPA6dEdicglwO7AN4JF5wPXqur7qpoBrgHGRrWNRrYVAFV9XFU/Up8X8YXZQblNkf/FF/6HquqKQIOZBHw/1OqC9py2rf8zqgcTGka1MABYHXy+CzhWRDrhj3xfVtVox/5J5PNGoL2IJAFE5GwReSfsgIFR+IKBwKQTmnDCDm4lvraQT39A8bWefHbE1y4AUNUNwXYDGmhj56JHDvepavfI6+Ng+eK8/1wcCJCQRdH/FJGjgO8CJ6jqpmDxIOD/IudjNSDNaGv2v0TktcA8txY4muA8B3THFxDXquq6YFkfoCPwZqQ9TwbLjZhgQsOoOCIyHr8TewVAVZcC/8I3qZyFr02Usp9BwC3ARUAvVe0OvIffSaKqIyNmnJeDnz0DnFxgd6cArwWaRD4f43fG4f92AnoBS0tpZyOIlqD+GBgouVFmO4X/KSK74Wtop6hqVNgsBr6dJ5Q6qOo/m9ooEWkH/B34DbBDcJ6nEZzngDX45qvbReSAYNlKYBMwMtKWboFJzYgJJjSMiiEiXUXky/j297tUdVZk9Z3AT4DRwIMl7rITfke7Itj/ufiaRkNcBewvIleLSE8R6SIi38G30xeztU8GzhWRsUEHeg0wXVUXltjOpjAdXwv4iYikROQQ4Fhgioh0BR4BLlfV/BDZPwGXichIABHpJiKFhGQxRETaR19ADdAO/zxnAg3nS/k/VNUX8E15D4rIhEBLugXf/9E32PkAEWmKv8eoECY0jErwqIisxx8FXw78L34nHeUh/NH8Q6q6sZSdquoc4H/wtZRP8QXOq9v4zVzgQHy/yEJgLfDfwFdU9Zkiv3kG+Bn+aHsZsAutbJdX1a34QuIo/BH7H4GzVfUDYC9gN/zOOBtFFfzuIfwosCki8hm+5nVUI/56f3ztIP91MX6wwBp8h/3UIu1+Gt+/8mjgKL8EmAe8FrTnmaDtRkwQm4TJqFZE5CN800rBzruV/rMWeA24QlUrkjtiGNWMaRpGVSIiJ+Gbmp4r5/8GYaFHAf1FxGzthpGHaRpG1SEiLwAjgLNU9R8Vbo5hGBFMaBiGYRglY+YpwzAMo2SSlW5Aa9K7d28dPHhwpZthGIYRK958882Vqlow6bJNC43BgwczY8aMSjfDMAwjVojIomLrzDxlGIZhlExFhYaI3CYiy0XkvciyniLydFCq+WkR6REsFxG5Qfxy1DMLVdQ0DMMwWpdKaxp3AEfmLbsUeFZVhwHPBt/Bj50fFrwmATeVqY2GYRhGQEWFhqq+RF1l05Dj8QuvEbyfEFl+Z1CK+TWg+zbmSTAMwzBamEprGoXYIVIG+xNgh+DzAHJLRS8ht7wzACIySURmiMiMFStWtG5LDcMwtjOqUWhkUT/zsFHZh6p6s6qOU9VxffpYmX7DMIyWpBqFxqeh2Sl4Xx4sXwoMjGxXS8vPX2AYhmE0QDXmaUwFzsGfS/gc/HkCwuUXicgUYB9gXd5sbm2C9VvXM+WDKWxxC839U4RPZkKyA/QYBIkaf9nG1bBmIaRLqipekL6JDhzfaQjrN2aYt3wDKHzK57yVXE6PLimSTt2YI+16rNiwBfXqK4YqwqoOQ9iU6pFdJurR5/O5tHM3NLl9xdia6MinnYfnLHPUpd+G2SS8dIH2OazssDObU91ytu/9+VzauZ+3SJsyTg3r2g1gY6oHiOB4GbpuWUbn9AqkQqV81tf0YW2HnXKW1WQ+p+/GfyPBBIEJR+jTpR2JyLXemvFYuWELVoJo2yQTDn06t8Nx6uan2pJx+XQjLOs0EpXIvFWq9Nswm5TXiGe/AXp06MdPTr+5RfYVpaJCQ0QmA4cAvUVkCXAFvrC4T0S+iT+d5SnB5tPwp5Schz8ZTf78C/Fi5TyY+w/Y9wKI3DivfvwqN7x9AwCC4FvnpPA+wF8fPrz+HG51y5uJinDb8tf4weq1TNi0mZu7d2Nyt85kRJD1RfZfTHfd/BG6ue44JGxfa+i6Crp+Nkru/wnaQPvmtX77tnwAW/y9Z6+P0PDlbU0y8/HWv5GzSFBENLdN6wv8tpLtjhNK4fMH6IYP6t2jMxu6RxvJsPVF8/OaRUWFhqqeXmTVYQW2VeDC1m1RGXnv7/DCNbD7MdBjcHZx2vVHwtOOuZ+Bf58Ey96FLjvC1+6F/mNy97HqI/jTQVC7N0z8Ccx7Gua/CF36w7AvwtDDfe2jCOs3p/nzi/NxHOEHh++as+7Z9z/lew/fz+Jej/DDHZLUODWkvTQnDjuRw/ufzQ1Pfcr0BaupSTpszXh8cfgOXH7McIb07lT/jzauhuevgRm3gZMEdwv0GgZHXAPDDs8Rms3mrb/B1Ivge7Oge2QUPfcZuPsk+OYzMHB87m82rIDnfwlv3QlOym9fn+FwxNUwtN6t2DQ+WwbznoG5T8GaBTDoQP8aDToQUu1b5j8aw6PfhQ+mwY/n5i5/4Tp44Vr4+RpwHGYtWccvHpvNGwvXZK/1kSP7cdnRuzOoV4FrbeQwY+FqfvHYHGYuWZc9fz8duohJSy6D856DAXvXbbxsJvz5IDj1bhj+5co1ehtUo3lq+yA0kyx8JUdoZLwMAIknL4VPZvkd67/+CLcdCV+9DXY7ko1bM0y6Yzp/Tl9Op0QSTrgJutXCkINK+mvXU+6fsZjfPPUhKzdsBWCXPp04fqwfjLZs3SZ+cN+71Hbfg98ddwbvrnuad1e8y5nDz2R4L9/ss/+kIfxj9qc88d4yTt57IAcO6138Dzv2hGN+A+O/Cf+6EXYY7X9OpBp50krACW7p4DxmCb87ifq/6dwHjv0/GP8teO0m2HFP2PtcSLTg49G1P+x1lv+qBpxk/XME/jJxIDBHja7txn3f3o9psz7h6TmfcMr4gey/SwPX2shh3OCePHzBATz49lL+OW8lZ+43iL22toO7ADf/Hg36BKe6u+Xqbl1bxo0IjT3PzC7OCo0FL8Ex/wPjvgGjToJ7ToXJp8FO+7Gy1/4c+p/ZdEq+DSfd6guMgK0Zj5pkcf121YYtnH/Xm7yxcA3jBvXg5rPH8d+PzeG/Hn6P8YN70q9re350/7tszXj88Yy9GNK7E7v1O4VTdjslZz8iwpGj+nHkqH6lH3Pf4XD8H0rfvimEgqjYA9mQoOo3Gk74Y+u0q9pwUoWFhpv210UQEY4Z059jxlhaVFNwHOGre9fy1b2D53R+cH7rDWxc/70lByutQDVGT20fhDfMwlfqfBJAZtnbACQnfNsXGABd+sG502Dij2HrenZ6+zd8M/kE/3AOQkedlP3t5rTLIb9+nrNve53PNtd3+H60YgNf+eM/mblkHb85eQ/uP38/9tqpB787dSyup/zwvne57dUFvDpvFT/78ojCpqZqJ9Qkimoa1f1Alg0nUVzTsHPUumS14bxn1I2HpmFCo1KEo4p1i2FtncPKXeJX5U1O/HHu9jWd4AuXw/mv8N+7Pcj5W7/H9zaeywef1HnZXvhwBR+v28xL/17BV2/6J0vW+JFTWzIuT773CSf+8Z9s3Jph8qR9+eretUjgSxjUqxNXHDuCf81fxS8ff58vDu/L6RMGEkvCUXK9BzKTu357J5Gq66SieJmqH+nGnkQxTSMe96jdHRVi05YtdAi/hH6NTWvIrPwQenQlmWxX9Levr2zH1j6HsenT9Tz3wXKG9+8KwNR3l9KrUw3/e+pYLrrnLU74wz8ZO7Ab//xoFRu3ugzt25nbvz6egT071tvnKeMG8tK/VzJj0WquO2lMVqDEjm2Zpwr5NLZHnJR/TlRzAxHcdNWPdGNPeA/G1KdhmkaF+OjTdazUrmjHXr7QAHj/UTJhfLwU7twyrseHn65n4q69GTWgKy986Oc+rt+c5tn3l/PlMf05eNc+PHTB/vTqVMOHn67npL1qufWccTz2nQMLCgzw7dY3fm1PXvjRofTuXFxgVT3bMk+1hvM9joQdU3C/ZfEyVT/SjT1OvH0a1d26Noy6W0mTxNvpABKhX2PW/WQ69gQ8kkVGGwtWfs7WjMfw/l1pn0rwh+fnsXbjVp59fzlbMh7Hjd0RgKF9u/CP709sVJtEhA41MR+JFzVPpXPXb++EHZObztW+vIwJ1tbGfBpGk/BcMpogs9MBvl9j8XRY8DJu3xFAcU1jzrLPABjevyuH7t4XT+HFf6/gkXc/prZHB/baqUfB3203FA25dXPXb+80FJpsJrzWJevTcHOXx8SnYUKjQohmyOCwtfYAf8G0HwOK22dXkpIs6lOYs+wzahIOu/TpzB613enZqYYH3lzCq/NWcuweO8bXF9FSbDPk1oQG0LBGVuWdVuzJ+jTyzn1MIvxMaFQI8VxcEmztMQw69vLrR/UbQ6Z9NxINjPTeX7aeoX07U5N0SDjCwbv24eW5K3E95fjANLVdk/VpxFP1LxvheSgkXO0ctS5FfRqh3626z78JjQohXoYMCVwFBh/oLxx9MhnNZP0Zqsrb/1mTUxju/WWfZaOlAA7dvS8Au+3Qhd371S3fbtnWA2mjaJ9EA2a8Ku+0Yo/5NIymIJrBxSHtKQz7EiTbw6gTyXiZrD/jrf+s4St//CcPve1XgF+5YQsr1m9heP8u2f1MHNabTjUJTh5XW/B/tjuy5ql4qv5lw8xTlSPmPg17giqEeC5pEriuwtgzYLejoWNPXM/NahqfbfZvot8/N4/j9tiR9wMn+IiIptG9Yw2vXvoFurav7hutbGRHcQUeyEhNpe2eBh3h1i20KjH3aVR369owvqaRIO15fnJVx54AvnlK/MuScX2z1IKVnzP13Y9ZucGvsx81T4EvOIyAhlT/Kh/BlZWiAQMWctvqmE/DaAqiru/TyJu0KONlso5w1/MTr7q2T/L75+Yxa+ln9O/Wnh6dTEgUxYnkH0SxEXQuDQUMWMht62I+DaMpOOriqpPVJkIyXp0jPB2s+/bBu7Bg5edMm7WsnpZh5NFQXZ8qH8GVlYZGu6aRtS4x92mY0KgQThA9lfFyyzi46mYd4eG6o0b1Y3j/rrie5jjBjQIU6wzNPJVLQ/ksZp5qXSTodmPq0zChUSEc3EBoFNc0Qi0klXD43heHATB6QPeytjN2NFR7qsofxrJS9Dy5dp5aG5HC85k0NFFYFWF3R4UIHeH5Po1o9FQoUFIJhyNG9uPhCw9gzIBuZW9rrGgo5NZG0HU0GHJr3UKr4ySLn/sqr+pgd0eFcNQlg0PazTVP5UZP+euSCf8mGjuwe1nbGEusplJpWMhtZUmkCvs0YmBCNfNUhXDULahpRKOnQk0j6VT3yKOqMJ9GaZhPo7I4idhG+JnQqBCJoGBhvk/DVbeeTyOZsMtUMo7jOxrrPZDWGeZQNOwzHh1X7Cnm04hBhJ/1RhXCN08lC4fcBuapdBA9ZZpGI3GSRRy8Zp7KYuapytKQT6PKMaFRIRxcMupkE/hCoo5w1zXzVJMoNIoz81QuRQMGTCMrC4mk+TSMxpEIfBr55qm0l876NNLBuoQJjcZRUNOwEXQORWt0WchtWXCS5tMwGkcCP3oq3zyVk9zneqQSYhMrNZZEkQfSRtB1NFijq/o7rthjPg2jsRTTNKLJfa6npmU0BSdlNZW2RUPmKRMarU8hbTgmAtuERoVwCEqjFygjknWEu0rKSnk3Hie+9uKyUcgRrmoaWblIFDOhVv+5tx6pQiTwNY10AwULM56XTewzGkFB85Q5eHMolM8SCtoYdFyxp6hPo/q1YRMaFSKBRwZnm8l9CdM0Gk/RkNvqV/3LRqHaUzGpfdQmKGZCjcHAxnqkSuB5JPBwtb5PIze5z3eEG42kqE/DhEaWQj6N8JzFoOOKPUVNqNV/j5rQqATBiC5NIltfKiQ6R3jGVTNPNYVEsnB5jBg8kGWjUMHCmEwC1CYoFuEXA9OgCY1KEAiNQtFTrueSCm6cjKckzTzVeIrladgIuo5CeRpZn4YJjVanaC5R9ZsGrUeqBMHNUihPI6OZnEmYLBu8CRQ0T8VD9S8bhWp0mXmqfJhPw2gUEU0jP+Q2f7pXK1bYBGJsLy4r+aPdmMwc1yZwErG9R6u2hSKyEFgPuEBGVceJSE/gXmAwsBA4RVXXVKqNTSaraRRO7gujp1xPTdNoCokkZLbmLrOQ2/rkZyVnfRp2nlqdRMrKiLQSh6rqWFUdF3y/FHhWVYcBzwbf40cRoeGph6KR5D7L02gSZp4qjXxnrIXclo8Y10erdqGRz/HAX4PPfwVOqFxTmo6X8R9UN8+nkQluouh8GpYR3gRi/ECWlWLmKdPIWp9ilZhjcO6ruUdS4CkReVNEJgXLdlDVZcHnT4Ad8n8kIpNEZIaIzFixYkW52too0oHQyGiuTyMUGlHzlNWeagKJlM1IVwr5GpmZp8qHk4htAmo1t/BAVV0qIn2Bp0Xkg+hKVVUR0fwfqerNwM0A48aNq7e+GvDcUNNIZMufg5/YB+RMwtQuVc2XqErJfyDDmkoxeCDLSn7AgIXclo+CPo145BJVraahqkuD9+XAQ8AE4FMR6Q8QvC+vXAubjhtqGjjZiZagvqaRcZWURU81nvwRtNVUKkw9n0a6brnRusTYhFqVPZKIdBKRLuFn4EvAe8BU4Jxgs3OARyrTwubhpUOhkesIDzWNaHKfmaeaQL55KuwMzcGbS1HzVPV3XLEnxj6Nar07dgAeCiYfSgL3qOqTIvIGcJ+IfBNYBJxSwTY2GdeNRk8V8GnkTcJkNJJ885Q5eAtTNE/DzlOrYz6NlkVV5wN7FFi+Cjis/C1qWaI+jaimUS96ysqINA1z8JZGfo0uE67lw3waRmMo2adhZUSaRr0RdOjTMPNUDkU1DTtPrY6TBHX9II0Q82kYxcjVNOrMU9noqUiehiX3NYFiPg0bQediGlnlyJ8EK0azJprQqABuJiiNrkXMU5HpXq32VBNwkubgLYWiAQN2nlqd/EmwYhTubD1SBdCIphGduS+juT4N18xTTcMcvKVRL2Ag6LhiMNqNPfmTYMVIYJvQqACuW+fTSLsNRU+ZI7xJJIJwxtBebLb6whQ1T9l5anWy85lkct9NaBiFUDdaGj2SpxGM9EJHeNqzkNsmkT/BkEUFFcY0ssqRLzTc+PjdTGhUAC9TWnKf1Z5qItkHMngQzcFbGAsYqBz1NA3zaRgNoMGNIk4yp8ptOnhoE5JAVc0R3lQSeZEpMXogy0rR0GQ7T62O+TSMxuAF0VOJVCpX0/DqQm5Ds1XKNI3GEz54+Q+k1VTKxaLMKof5NIxGEdwgTiJFppAj3KkzWyXMp9F4itmLY/BAlhULua0c5tMwGkMYPZVMpXId4ZHS6JmspmGXqNEUHcVV/wNZVqxGV+Uwn4bRKAJHeCqZKlp7KtRALCO8CdSzF1tnWJB6IbfxMZHEHvNpGI0hdIQnkjW55qlIcl8oTCy5rwnkl2iwPI3ChPksIV4GJAFi91yrUyws3ISGUYg6oZEsqGkkJJGNqrLoqSaQX6LBQm4L4+RXuY3HfA5tgnph4fHRhq1HqgBhcl+qpqZgcl/SSWYzxU3TaAIxVv3LSr3oqXhUWW0TFPW7Vb82bEKjEgQ3SCqZKlhGJBpyaz6NJlDMyRiDUVxZKZQRbkKjPBQd2FT/PWpCoxIEN0oqVVOwYGFC6kqmW+2pJpDv07CQ28LUq9Fl5qmyYT4NozGolyGjDu1rkkWT+9KBT8NqTzWBemWn4/NAlpVCHZedo/JgPg2jUXgZXBK0Szq5jvCIphFqIAnTNBpPMdU/Bg9kWSnUccXAPNImMJ+G0Sg8lwwO7VO+cNDAPBBqGimnztdhPo0mkDVP5Y3ibBSdSyHhGoNOq01gPg2jUUQ0DSCrVRQqI2IZ4U0gxvbislJotGvaWHmI8T1qPVIl8NKkI0IjFBAZzeCIgyNONk/DSqM3gbAwoYXcNkyh+kd2jsqD+TSMxiCe62saqWCGvoimkZ21L4ieMkd4EyhmL47BA1lWCoUmm9AoD+bTMBqFlyGDU2eecut8GuH84JYR3gzMp1EahezqJljLg/k0jEYR+DRqAqGRDrSKjGZISiA0rPZU08k+kOEoLm01lQpRKJ/FBGt5MJ+G0RhC81SYuBd1hNdpGhY91WQK5WnYCLo+9c6TG4uRbpvAfBpGYxDNkCGR1SJyfBrBg5zOahp2iRpNIfNUDEZwZcdCbiuH+TSMRuFl8EhkI6NCrcLVOp+G61nBwiZT6IE0oVEfC7mtHObTMBqDeBlcSWRNT6Gm4XpuNnoq7VrBwiZTyKdhnWF9Cvo07DyVhRj7NKq/hW0Q0VyfRhgplevTCGtPmVxvNPXsxebgLUi9fJYM6VRnlixYwObNmyvXru2FI+6D9t3g/feh8wH+97nzyxqw0b59e2pra0mlSh8s2JNUAURdXImYpwpGT/nLLLmvCRTMP7ARdD0KmKeW7HgMXbp0YfDgwYhFm7UuH2+Bzn2h647w2TLY8An0H142oaGqrFq1iiVLljBkyJCSf2fD2ArgBCG3YeKeW8ARntU0zBHeeAqZp2LgYCw79QIG0mxu15tevXqZwCgHInVl6VFAyqpliAi9evVqtFZpPVIFcDSDF9E0Qv9F1BGenU/DfBqNxxy8pVHPru6CiAmMsiH4woJAeJT/vDflWpvQqACiLp4UydMIzFNpqz3VdET8ZL4cn4YJjXoUrNFl91tZiWoaMRHWJjQqgC80kpHoqSDk1ouG3JojvFkkUjkOXjNPFaCAeSouMuPrX/86DzzwQIvv9+ijj2bt2rUtvt+Qa665pu6L5GsaTUNVufjiixk6dChjxozhrbfeal4jt0HseiQROVJEPhSReSJyaaXb0xScrKYR5mn4N0zaS0d8Gh4ipmk0GSeZG85o5qn6FEww277vt2nTptG9e/dW23+O0EBaRNN44oknmDt3LnPnzuXmm2/m//2//9fsdjZErISGiCSAPwBHASOA00VkRGVb1Xh8n0YyKxBCrcJVt8485akl9jUHJ2kht9uiXsBApnJtKULnzp35/ve/z8iRIznssMNYsWJFvW1+8YtfMH78eEaNGsWkSZOyk5odcsghXHLJJUyYMIFdd92Vl19+GYA77riDE088kSOPPJJhw4bxk5/8JLuvwYMHs3LlShYuXMjw4cM577zzGDlyJF/60pfYtGkTAG+88QZjxoxh7Nix/PjHP2bUqFH12rRs2TImTpzI2LFjGTVqFC+//DKXXnopmzZtYuzYsZxxxhkgwl33PcSECRMYe9CRfPvHv8B13QaP+4YbbmDEiBGMGTOG0047DYBHHnmEs88+GxFh3333Ze3atSxbtqwFr0IuJT1JIvJd4HZgPfAXYE/gUlV9qtVaVpgJwDxVnR+0awpwPDCnzO1oFo66eE4ia3oqVEbE9dRKiDQHJ2kht9ui4FzqdQOVqx6dzZyPP2vRvxyxY1euOHZkydt//vnnjBs3jt/+9rf84he/4KqrruLGG2/M2eaiiy7i5z//OQBnnXUWjz32GMceeywAmUyG119/nWnTpnHVVVfxzDPPAPDOO+/w9ttv065dO3bbbTe+853vMHDgwJz9zp07l8mTJ3PLLbdwyimn8Pe//50zzzyTc889l1tuuYX99tuPSy8tbOy45557OOKII7j88stxXZeNGzdy0EEHceONN/LOO+8A8P7Lj3LvQ4/y6quvktrwMRd8/xLuvvtuzj777KLHfd1117FgwQLatWuXNaMtXbo0p+21tbUsXbqU/v37l3yeG0OpvdI3VPUz4EtAD+As4LpWaVHDDAAWR74vCZZlEZFJIjJDRGYUGpVUA45mUGm4jEja9Sxyqjnk+DTSdU5fo44Y+DQcx+HUU08F4Mwzz+SVV16pt83zzz/PPvvsw+jRo3nuueeYPXt2dt2JJ54IwN57783ChQuzyw877DC6detG+/btGTFiBIsWLaq33yFDhjB27Nic369du5b169ez3377AfC1r32tYLvHjx/P7bffzpVXXsmsWbPo0qVLvW2efWU6b77zHuPHj2fsxKN49pXpzJ8/v8HjHjNmDGeccQZ33XUXyWRl7ulS/zW8lY4G/qaqs6VK4/JU9WbgZoBx48Y13bvUijjk+TQKRE9lXDNPNQsnlevTMPNUfRKRMiKqoC5RqdEYjaBc5Hc7mzdv5oILLmDGjBkMHDiQK6+8MifvoF27dgAkEgkymUy95YXWFdsmNE+VwsSJE3nppZd4/PHH+frXv84PfvADzj777JxtVOGc007k2t/dBKsXQGYz9B3e4HE//vjjvPTSSzz66KNcffXVzJo1iwEDBrB4cd1YesmSJQwYMKDgflqCUjWNN0XkKXyh8Q8R6QJ4rdaq4iwFojpkbbAsViTURSWZnWCpYHKfpzYBU3NwLOR2m4SC1M1UpT8DwPO8bJTUPffcw4EHHpizPhQQvXv3ZsOGDa0SURWle/fudOnShenTpwMwZcqUgtstWrSIHXbYgfPOO49vfetb2YimVCpFOu3fl4dN3JcHpj7B8uXLAWX1mrVZjafQcXuex+LFizn00EO5/vrrWbduHRs2bOC4447jzjvvRFV57bXX6NatW6uZpqB0TeObwFhgvqpuFJFewLmt1qrivAEME5Eh+MLiNKCwfljFJNRFnWRWk0gXME9lXI+UaRpNx0Jut020Rld4rqrMPtWpUydef/11fvnLX9K3b1/uvffenPXdu3fnvPPOY9SoUfTr14/x48e3eptuvfVWzjvvPBzH4eCDD6Zbt271tnnhhRf49a9/TSqVonPnztx5550ATJo0iTFjxrDXXntx9+9+zi9/+n2+9KUv4aU3k0om+MOfb2XQoEEFj9t1Xc4880zWrVuXDbPt3r07Rx99NNOmTWPo0KF07NiR22+/vXVPgKqW9ML3HewPTAxfpf62JV/42s6/gY+Ayxvadu+999ZqZN2VA/SZ35ylH6/dqIMueUwnT1+kqqqH33+4/vTln6qq6vemvK0HXv9sJZsZb/6wr+rkr/mffz9O9b5zKtqcqmTL56pXdFV9+X9VN61TvaKrznl7eqVblUOnTp0q3YR6rF+/Pvv52muv1YsvvrhpO1r+oeqKf/ufV85VXf5BdlU5j3vOnDn1lgEztEi/Wmr01PXAqfhRSm4ob4CXWlB+lYSqTgOmlft/W5LQPJXI82m4nksqMKNkPLW6U80hGj1lIbeFiYbcVql5qhp5/PHHufbaa8lkMgwaNIg77rijaTuql9xXXVpeMUp9kk4AdlPVLa3Ylu0GBxd1oqXR66rchvNpZCx6qnkkUhZyuy2iyX1VKjQ2bNhQ6SbU49RTT81GNjUPyc0Ejzj5q/G4Q0odys4H7KlrIRIEPo1Egegpp672VMI0jabjJC3kdltEa3SF56o6gyLbJm1c09gIvCMizwJZbUNVL26VVrVxkuQ6wgtFT7mely2dbjQBJ2XmqVIIAwa86nSEt3lyyohUtCUlU+qTNDV4Gc3F83BQKOTTyCmNbnkazcJJ+HHvEERPmaJckLBGV5jTYpSPtqppBPWevq6qh5ahPW2fYPSrTiLr6M6Z7lUiGeFmnmo6iRRsWe9/tuS+4oQ1uqo05LZt0zIFC8vNNnslVXUBT0TqByMbjScygbzjCCJ+aXRVzdE0XE/NEd4couYpL2M+jWKEAQPhuYrJLdc2S6M37eTffffdjBkzhtGjR7P//vvz7rvvNrudDVHqUHYDMEtEbhWRG8JXazaszRI8nBIIh6QjZDxfYADZ6Km0axnhzcJJ5Pk0zDxVkDBgwHwaQAVKo2dpuqYxZMgQXnzxRWbNmsXPfvYzJk2a1Kw2botSe6UHgZ/h52W8GXkZjSVrnvI7saTj4HpKJlgene7VfBrNIHTwhjWVzDxVmFAjc6sz5LbNl0a/f6pfGv2wk/j293/apNLo+++/Pz169ABg3333ZcmSJS11+gtS0pOkqn9t1VZsT2TNU75GkXSEtOtlNY26MiLmCG8WYXJfeL7NPFWYUCPL5mlE7rknLoVPZrXs//UbDUeVXiC7TZdGn/4c90590i+NvupDLrj8+iaVRo9y6623ctRRR5V8fptCqRnhC8ga3+pQ1Z1bvEVtnYhPAyCRkBxNI5vc56lN9docsiPowOximkZh8kNuq2yckl8iPCx1HuX555/nV7/6FRs3bmT16tWMHDkyKzS2VRodyJZGzxcapZZGf+yxx+q1afz48XzjG98gnU5zwgknZPcT5dmX/smbM9/362VlNrNpS5q+A3dp8LjD0ugnnHACJ5xwQr3zcOuttxYsH9+SlPokjYt8bg+cDPRs+eZsB9TzaThkCpmnXM+mem0OiTxNw3wahXFSxTWNRmgE5aJtlUZXzjn5WK79/a2wbCZ07AHdBhbcX0Ol0ZPJJDNnzuRb3/oWTzzxBL169Sq5nU2hpKGsqq6KvJaq6u+AY1q1ZW0UL5NrLkk6Qsb16jSNnNLoJjSaTNbBG55vExoFCc1TbgGhUQW06dLohxzIA4893ezS6P/5z3848cQT+dvf/sauu+7aqscPpZun9op8dfA1D9P3m0Ams5UayHZiibzoqegkTFawsBk4qdz8AyuNXpgqN0+16dLoN/2aX/7kAr80+taNpGra84c/3dzo0ug/+tGPWLVqFRdccAEAyWSSGTNmtN4JKFb+NvoCno+8nsafGW+3Un5byVc1lkbftHim6hVd9R/3/UlVVQ/+1XN68eS3dNG6RTrqjlE6dd5UVVXd+7+f0ssenFnJpsabJy5TvXpH1bVL/PLfM+6odIuqk78crnrHsaqzH/ZLo896t9ItyqFNl0Zf97Hq0rdUPc9/X7c0uyr2pdGBb6rq/OiCYCIko5FkgpGvBOaphCNkXCWj+SG3apMwNYdEXv6BOcILkx8wYGyTli2NDnUxRvF43kt9kh4A9iqwbO+WbU7bJ/Rp5DrCPVwvN7kvY8l9zSPr4A1qKplPozCJJKQ3VW3tqWosEd6ipdGhrpRITEqjNyg0RGR3YCTQTUSisW5d8aOojEbiZrb6H4JOLJkXcltXGt2S+5qFk/ST+tytdd+N+uRnhMek/lGbIKtoeBVtRmPZ1pO0G/BloDtwbGT5euC8VmpTmybUNJxI9FTa1XrJfVZ7qpmEyXzpIEzShEZh8gMGYmIiaRuEmkYgNGIisBt8klT1EeAREdlPVf9Vpja1abwCPo0cTUOSqGpQGt3MU00mFBJheXQzTxXGSQSl0auzjEibRvLMUzER2KX2SqtE5FkReQ9ARMaIyH+1YrvaLFmhEfo0Er5PI5qnEc6vYeapZhAm85mm0TDZkNvqzNNo28RT0yhVaNwCXAakAVR1JnBaazWqLeMFSVROMixYmBs9lZBEdiY/c4Q3g1CzCDUNExqFyc8Ij0e/1YZKoxPxabR8afQnn3yS3XbbjaFDh3LddS2T4V9qr9RRVV/PW2b6bBPwMr6m4WQd4X4ZkTB6KukkSbv+TWTTvTaDMJnPNI2GCQs7mk8DqFBp9GZqGsVKo7uuy4UXXsgTTzzBnDlzmDx5MnPmzGlG631KFRorRWQXgoBiEfkqsKzZ/74d4ub5NPz5NLyc6KlwJj+rPdUM8s1T5tMoTDafpTrHgG26NDpw198fZ8KBhzL28NP49nd+2KKl0V9//XWGDh3KzjvvTE1NDaeddhqPPPJIs69JqcOvC/GzwHcXkaXAAuCMZv/7dogG5qlEtIxIXnJfxsxTzSffEW4FCwuTX0I+Mtq9/vXr+WD1By36d7v33J1LJlxS8vZtujT629O5d+pTvPrcE6Q2LOWCK3/foqXRly5dmnNMtbW12ZpZzaHUgoXzVfWLQB9gd+Bg4MCGf2UUIvRphJpGqkBp9IwXmKdM02g6iXxHuNWeKkg05LYKTXj5JcILlf1+/vnn2WeffRg9ejTPPfccs2fPzq7bVmn09u3bZ0uj51NqafRCjB8/nttvv50rr7ySWbNm0aVLl3rbPPv8i7w5633GH3gYYw8/jWdfeJn58+c3eNxhafS77rqLZDL3eoWl0a+//vqCbWoptpXc1xVfyxgAPAI8E3z/ITATuLtVW9cGUTfXp5Fw6vs0zDzVAoRCwkJuG8ZJ1oXc5mljjdEIykWbKo0Ofmn0666HdUugxxDo0L3B425MafQBAwawePHi7D6WLFnCgAEDSj6GYmxL0/gbfoLfLPxkvufx59L4iqoe3+x/3w7R0BEejZ7yvJwqt6F5yiZhagYWclsaUZ9GFZ6jNl0a/dBDeOCxZ4LS6LR4afTx48czd+5cFixYwNatW5kyZQrHHXdcs8/Btu6SnVV1NICI/AXf+b2Tqm5u+GdGMTQ0Q0WEhuvmlhHZHERPWUZ4M7CQ29KIhtxW4ZS4bbo0+m1/8kujH38qXmYLqfad+MMf/9RipdGTySQ33ngjRxxxBK7r8o1vfIORI0c2/wQUK38bRCC81dD3an9VY2n0D6f+j+oVXXXmB3NVVfXSv7+r4375tN734X066o5R+unnn+rspet00CWP6ROzPq5wa2PMv5/yS6JP/a7/vmZRpVtUnTx3TXCeLlb91dCCZbIrSZsujb55fV1J9KVvqW7+LLsqzqXR9xCRz4LPAnQIvosvb7Rr88XWdoaXm9xXr4yIk6xL7rMyIk0n1CzMPNUw2Rpdm+0clUiLl0aPWRmRbdWespCTFsbLC7lNOg4ZN7c0etoz81SzyYbchkLDHOEFiZ6nKjRPVWOJ8JYrjR5QILmvGo87xIay5SaInkqkoo7wOk0j5aSy0VOmaTSDbMht6NOw8U9BnMh5CgSIZke+RqtSr4xI+WnKtbZeqcxovnkqEQiNsPaUU5enYZpGMwg7w4xlhDdIInKenBTt27dn1apVJjjKQmXNU6rKqlWraN++cVMjVZ8+2tYJzFPJMLnPceon97lhyK0JjSaTrT1lGeENEj1PiRS1tbUsWbKkYLkOo4Vx07B+OaQ2QHojrE6UfXDTvn17amtrG/WbqhMaInIlfk5IeNf+VFWnBesuA74JuMDFqvqPijSyGaiXIaMOiSAHI98RHs0IT5h5qunUywivulu9OojmszgJUqkUQ4YMqWybthdWL4AbDoJdvgAfPQcXzYDewyrdqm1SrU/Sb1X1N9EFIjICvxz7SGBH4BkR2VVVq3Ny42J4GVwSWX9FOGfGVjdDUpKISMSnYZpGk6nnCDefRkGi56l994o2Zbujnt+tWrvjXOI0lD0emKKqW1R1ATAPmFDhNjUeL0OaRNZfERYlzHiZ7FSvlhHeAjh5oaQxmeCm7CTqO8KNMlFvYBOP81+tvdJFIjJTRG4TkR7BsgHA4sg2S4Jl8cJN4+JktYioppEIRsPhfBpWe6oZ5Dl4jSLkhNzaeSorTp6mEZPzXxGhISLPiMh7BV7HAzcBuwBj8cuW/E8j9z1JRGaIyIyqdOZ5LhkSWYEQvqcjmobrmSO82eRrGkZhcs6TmfDKSraoZrw0jYq0Uv0y69tERG4BHgu+LgWiBe9rg2X5+74Zf+4Pxo0bV31xg5rr0wgFQ8bNkJBE8Nnm02g22VHcxqKVQw0i5qmNppGVG/NptAwi0j/y9SvAe8HnqcBpItJORIYAw4D8KWirH88lgxPRNPxLsDWiaWQzws081XSyo2a1zrAhsh2VxsY80maIqU+jGlv5KxEZi19ufiHwbQBVnS0i9wFz8OcnvzB2kVOAuGkymqjn08h4fvQUEKk9ZUKjyUQ7wJg8jBUhem7MPFVeYurTqLqnSVXPamDd1cDVZWxOiyOBecoJhUZgnkq76TpNw8xTzSeqXVRhTaWqIUe4xqPTajM4DiDgbgm+x+M+tV6p3HgurtSN6BJZTcPNRk9lXDNPNZucEXQ8HsaKYOepsmSFtsRG0zOhUWZCTSMkzMVIexFHeGiesuipphN9AG0EXZwcjczOU9kJBXWMBLYJjTIjnpsjNBIRn0YqeICztaesjEjTEal7EK0zLE6OcI1Px9VmCIV2jO5R65XKjGgmxzwVdYTXaRqe3+eZeap5hA9kTNT+imABA5UlvDdjdO5NaJQZ8TJ4EU0jdHa76uaUETEtowUIO0QzTxXHzFOVJXuPmtAwiiDqFtc0Io5w82e0ADEcxZUdM09VFvNpGNtC1MUrGD2VyQm5tbpTLUAM7cVlx8xTlSWGfjcTGmXG0QxuJD0mLCPiqpuT3GcVbluAGI7iyk703MSo42ozZO/R+PjdrGcqM46XydM0CpVG9yxHoyVImNDYJo5pGhUlhn43ExplRtRFC/g0XHWz0VNpV01otARmnto2CUvuqygxvEdNaJQZJ8+nkcyap3JLo1sJkRYghqp/2bGM8MoSw2AN65nKjC806m6QHE0jMgmTRU+1ADFU/cuOhdxWFgu5NbaFQ370VJCnkZcRbuapFiAcxVlnWJwcTcPOU9mJYbCGCY0yk9BMQU3Di/g0Mp5mJ2kymoETv1Fc2cnJ0zAzXtmxkFtjWzj5jvCITyOb3Od5NtVrSxBD1b/siMTSGdtmME3D2BYOLurUT+7z8LJ5GhlL7msZYvhAVgQ7T5UjhgMbExplxtc0Isl9gRnKy6k95Vn0VEsQQ9W/IljAQOWIocC2nqnMJHDRyA2SKBBym3HVzFMtQQwfyIqQDfs0n0bZieHAxoRGmUkUSe6LOsLTnmajqoxmEEPVvyKYT6NyxDCXyHqmMpOvaYRRUh5uJLnPI2U+jeYTw1FcRTDzVOWI4bk3oVFm6gsNATxAI6XR1ZL7WgIzT5VGDLOS2wwxvEdNaJQTz8NBIWKechzBcTyAbHJf2vUsT6MlMPNUaWTNU3aeyk4MtWHrmcqJlwFA81TRZHAVQp+GX3vKNI1mE8NRXEWw81Q5zKdhNIiX9t/zbpBEwtc0opMwmabRAsRwFFcRYmhXbzPE8Nxbz1ROAk0jf0SXTChApIyIzafRIsTwgawIWeFqmkbZiaGWZ0KjnHiu/553gyScXE3DzFMtRAxV/4oQw46rzRBDbdiERjkpomkkAk0jap6y6V5bgBg+kBXBNLLKEcOBjfVM5aRU85TrWe2plsBG0KVh56lyxFBgm9AoJ27oCM99OJ0881TGzFMtQwwfyIpgPo3KEcMcGRMa5STQNCRR2KdRVxpds4UMjWZgnWFpZDUNE65lJ4Y5MtYzlRHPbdinkZIUqorrWWn0FsHMLqVhSZCVI4b3qAmNMuJmfPNUfU0j8Gk4CTJeIEDMPNV8zDxVGhYwUDlieI+a0CgjblbTyL1Boj6NjBtEUln0VPOJ4SiuIsQwgqfNYD4NoyHczBagAU1DEqS9UICYptFsYmgvrggxHO22GWJ4j5rQKCNeJnCENxA95YaahgmN5pMdxVln2CBmnqocMdSGKyI0RORkEZktIp6IjMtbd5mIzBORD0XkiMjyI4Nl80Tk0vK3uvmE5ilJ5t4gEhEaWU3DzFPNxxy8pRHDjqvNEEMtr1I903vAicBL0YUiMgI4DRgJHAn8UUQSIpIA/gAcBYwATg+2jRVe6AgvVkZEIj4N0zSaTwxV/4qQSAFiPo1KYD6N0lDV91X1wwKrjgemqOoWVV0AzAMmBK95qjpfVbcCU4Jty8K8xbPZvGVjs/dTFz2V5wiXSPSUOcJbDhtBl4aTtHNUKWI4sKm2nmkAsDjyfUmwrNjyVufFNx/htGdO5arJZzd7X16QEe4kCpunEpIgE5inLOS2BejQw39v362y7ah2OvSoO1dGeYnhwKbVWioizwD9Cqy6XFUfacX/nQRMAthpp52ata/1n6/lN2/9F1tqhOnpuXieh1MkU/uNT96gV/te7Nx956L7C5P76msafvXblJMikw61DhMazWaXL8D5r0KPwZVuSXWz34Uw5pRKt2L7JIY+jVYTGqr6xSb8bCkwMPK9NlhGA8vz//dm4GaAcePGaRPakOWqKaezsAYmbhRe6ujx4Huv8NUxE3O2+WjtR/x6xq95demrDOsxjAePe7Do/jTQNBLJAnkanm+e2uSGTvFqUwJjiONAv1GVbkX1066L/zLKj/k0ms1U4DQRaSciQ4BhwOvAG8AwERkiIjX4zvKprdmQ+5+5kacSizl4S0+uGPdDajzl4Zl/y9nmW1Ov4cRHTmTm8plMrJ3I3DVz+ffqD+GNv8Dz18Lmz3K2z4bc5oc2Sl1pdNcywg1j+yGGPo2KtFREvgL8HugDPC4i76jqEao6W0TuA+YAGeBCVXWD31wE/ANIALep6uzWat/HKxbxp0U30V+FK06eTB9HmfjGL3hF32JrJkNNMsnd777A9DWTGf55d2489Q4SHbtz2P2H8cTTP2TX91/2dzTjNjjsZzD2DHASWfNURjxumXkLb376JnvvsDebA6UpIQnSrpmnDGO7YYeRsOuR0G9MpVtSMhURGqr6EPBQkXVXA1cXWD4NmNbKTQNg/YbV7JBpx+nDL6JPjx0B+GK6Hc902spf336Wc/Y8jP+bcQ07kOGOFbNI/vlQar5wGftqO55Y/xEXH/gDZPdj4MnLuOmly3nqvRvYb/gp7Pr5euZ06sh183/GqvQqBnYZyKsfv5r935STIuOGjvBqUwINw2hxOvaEr91b6VY0ivjoRGVktyF7cs+338pZdkj/fej4+Rs8+OFU5q5exKbkMq5avpZran7CKfokY568lKO7dOHy3j14d8zxjO07lnkn/ZE/Tz2J/ls3cO8HU9jqpaFvbwYmOvGrQ3/FhP4TWLlpJd+bei+zP1lGz/Y9cb1VgOVpGIZRnZjQKJFOQw7gi9Nf4NFOr7Fk6ZuMSAtHdNuVT0aeznGPjuHZ412+0L8n7V75Pk8seII9+uzBdW9cT8dkB+5ZtJj2J/yRqfPfoue//0a3I6cwof9IAHp36M2Qdgcze93HiAhpL8zTMKFhGEb1YTaQUhm4L0d/vhF1toKzkatWfYwz+hROHjeQLu1S3LBoJzoPPoiJtRN5cuGTPLXoKaYvm86Fe36HHjVd6LDgVcYld+TwjZtI1bTL2XXCkWxJ9IxFTxmGUcVYz1QqfYczwauheybFRLeW3bdmYOSJdG6X5JTxA3l85jI+WbeZo4cczerNq/nZqz9jaPehnLr7aTBkIsx/AXW3AvWT+1IJyUZNZUzTMAyjijGhUSpOgtTAfXhmU5IbNn4Cgw+Erv0BOGe/wbiq/PVfCzmo9iA6pzqzKbOJSyZc4s/7vfMhsG4xHdZ9BEAyWZOz64TjZMuH1NWesktjGEb1YT1TY9hpH9qt/JDEqo9g9Ml1i3t15OjR/bnj1YWs3uDxrdHf4qwRZ7Fv/325b8Zibls2BICey14E6msaSUey5UOe/eBT2qcc+nVtX6aDMgzDKB1zhDeGnfbz350UjDguZ9WlR+7O03M+5dppH3DD6d8E4L2l67j8oVmIwLm9d6LD2v8AkEjlJvclE4KnMH/FBh5+eynfOGAI3TrGp6yAYRjbD6ZpNIYBe/sCY+gX6xV4G9izI+dP3Jmp737MGwtXsznt8r1738H1lK0ZZU2/A7LbJgpoGgC/fWYuNUmHSQcXr19lGIZRSUxoNIZUBzh9Mhx5bcHV5x+yC/27teeKR2Zz7bT3mbd8A7843q99NLv93gCkNVGv7Hki8F88NvNjztxnEH27mGnKMIzqxIRGYxl2OPQcUnBVx5oklx09nDnLPuOv/1rE1/cfzBn77ET3jime37I7iuDi1CsREtaZamdahmEYVY4JjRbm2DH9OWhYb4b378qlR+2OiDB6QDf+9Qms7jaCDIl6kVGhEDEtwzCMascc4S2MiHDHuRPwVLP1o8bUduNPL87nw1FfhtWPsmteDsbQvp0Z1KujaRmGYVQ9JjRagYQjJKgTDGNqu+N6yhQ5iqnpPXgnzzx10LA+vPjjQ8vdTMMwjEZj5qkysEdtdwDe+s8awMqeG4YRX0xolIEdurajT5d2LFmzCbBsb8Mw4ov1XmVARNijtlv2u2kahmHEFRMaZWJMYKICmyvDMIz4YkKjTIwONA0RcExoGIYRU0xolInQGW5ahmEYccaERpno2amG2h4dzAluGEassR6sjIyp7WZOcMMwYo0l95WR8w7amQmDe1a6GYZhGE3GhEYZ2XOnHuy5U49tb2gYhlGlmHnKMAzDKBkTGoZhGEbJmNAwDMMwSsaEhmEYhlEyJjQMwzCMkjGhYRiGYZSMCQ3DMAyjZExoGIZhGCUjqlrpNrQaIrICWNSMXfQGVrZQc+LC9njMsH0e9/Z4zLB9Hndjj3mQqvYptKJNC43mIiIzVHVcpdtRTrbHY4bt87i3x2OG7fO4W/KYzTxlGIZhlIwJDcMwDKNkTGg0zM2VbkAF2B6PGbbP494ejxm2z+NusWM2n4ZhGIZRMqZpGIZhGCVjQsMwDMMoGRMaBRCRI0XkQxGZJyKXVro9rYWIDBSR50VkjojMFpHvBst7isjTIjI3eG9zM0eJSEJE3haRx4LvQ0RkenDN7xWRmkq3saURke4i8oCIfCAi74vIfm39WovI94N7+z0RmSwi7dvitRaR20RkuYi8F1lW8NqKzw3B8c8Ukb0a818mNPIQkQTwB+AoYARwuoiMqGyrWo0M8ENVHQHsC1wYHOulwLOqOgx4Nvje1vgu8H7k+/XAb1V1KLAG+GZFWtW6/B/wpKruDuyBf/xt9lqLyADgYmCcqo4CEsBptM1rfQdwZN6yYtf2KGBY8JoE3NSYPzKhUZ8JwDxVna+qW4EpwPEVblOroKrLVPWt4PN6/E5kAP7x/jXY7K/ACRVpYCshIrXAMcBfgu8CfAF4INikLR5zN2AicCuAqm5V1bW08WuNP6V1BxFJAh2BZbTBa62qLwGr8xYXu7bHA3eqz2tAdxHpX+p/mdCozwBgceT7kmBZm0ZEBgN7AtOBHVR1WbDqE2CHSrWrlfgd8BPAC773Ataqaib43hav+RBgBXB7YJb7i4h0og1fa1VdCvwG+A++sFgHvEnbv9Yhxa5ts/o4ExoGItIZ+DvwPVX9LLpO/ZjsNhOXLSJfBpar6puVbkuZSQJ7ATep6p7A5+SZotrgte6BP6oeAuwIdKK+CWe7oCWvrQmN+iwFBka+1wbL2iQiksIXGHer6oPB4k9DdTV4X16p9rUCBwDHichCfNPjF/Bt/d0DEwa0zWu+BFiiqtOD7w/gC5G2fK2/CCxQ1RWqmgYexL/+bf1ahxS7ts3q40xo1OcNYFgQYVGD7zibWuE2tQqBLf9W4H1V/d/IqqnAOcHnc4BHyt221kJVL1PVWlUdjH9tn1PVM4Dnga8Gm7WpYwZQ1U+AxSKyW7DoMGAObfha45ul9hWRjsG9Hh5zm77WEYpd26nA2UEU1b7AuogZa5tYRngBRORofLt3ArhNVa+ubItaBxE5EHgZmEWdff+n+H6N+4Cd8EvLn6Kq+U622CMihwA/UtUvi8jO+JpHT+Bt4ExV3VLB5rU4IjIW3/lfA8wHzsUfOLbZay0iVwGn4kcKvg18C99+36autYhMBg7BL4H+KXAF8DAFrm0gQG/EN9VtBM5V1Rkl/5cJDcMwDKNUzDxlGIZhlIwJDcMwDKNkTGgYhmEYJWNCwzAMwygZExqGYRhGyZjQMIwSEBFXRN6JvBos7Cci54vI2S3wvwtFpHdz92MYLYWF3BpGCYjIBlXtXIH/XYhfpXVluf/bMAphmoZhNINAE/iViMwSkddFZGiw/EoR+VHw+eJgzpKZIjIlWNZTRB4Olr0mImOC5b1E5KlgDoi/ABL5rzOD/3hHRP4s/pwgCRG5I5gvYpaIfL8Cp8HYjjChYRil0SHPPHVqZN06VR2Nn2X7uwK/vRTYU1XHAOcHy64C3g6W/RS4M1h+BfCKqo4EHsLP5kVEhuNnNh+gqmMBFzgDGAsMUNVRQRtub6kDNoxCJLe9iWEYwKagsy7E5Mj7bwusnwncLSIP45d2ADgQOAlAVZ8LNIyu+HNenBgsf1xE1gTbHwbsDbzhV4GgA34BukeBnUXk98DjwFNNPD7DKAnTNAyj+WiRzyHH4M8GuRd+p9+UwZoAf1XVscFrN1W9UlXX4M/C9wK+FvOXJuzbMErGhIZhNJ9TI+//iq4QEQcYqKrPA5cA3YDO+IUizwi2OQRYGcxl8hLwtWD5UUA4Z/ezwFdFpG+wrqeIDAoiqxxV/TvwX/iCyTBaDTNPGUZpdBCRdyLfn1TVMOy2h4jMBLYAp+f9LgHcFUy3KsANqrpWRK4Ebgt+t5G6EtZXAZNFZDbwT/zy3qjqHBH5L+CpQBClgQuBTfiz8YUDwMta7IgNowAWcmsYzcBCYo3tDTNPGYZhGCVjmoZhGIZRMqZpGIZhGCVjQsMwDMMoGRMahmEYRsmY0DAMwzBKxoSGYRiGUTL/H8HZoShuKrZ/AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "agent_list = []\n",
    "for n_planning in n_planning_list:\n",
    "    agent = DynaQ(env, epsilon, alpha, gamma, n_planning)\n",
    "    total_reward = DynaQ_FrozenLake(env, agent)\n",
    "    episodes_list = list(range(len(total_reward)))\n",
    "    plt.plot(episodes_list, total_reward, label=' planning steps' + str(n_planning))\n",
    "    agent_list.append(agent)\n",
    "plt.legend()\n",
    "plt.xlabel('Episodes')\n",
    "plt.ylabel('Returns')\n",
    "plt.title('Dyna-Q on {}'.format('FrozenLake'))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d3eb31a6",
   "metadata": {},
   "source": [
    "# 训练结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "3aa78938",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 216x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 重置环境，开始新的一轮游戏\n",
    "observation, _ = env.reset()\n",
    "# 创建GymHelper对象来辅助显示\n",
    "gym_helper = GymHelper(env, figsize = (3, 3))\n",
    "\n",
    "# 进行10步的游戏\n",
    "for i in range(20):\n",
    "    # 渲染环境，title为当前步骤数\n",
    "    gym_helper.render(title = str(i))\n",
    "    \n",
    "    # 通过已经求得的Q值表，找到当前状态下的最优动作\n",
    "    action = agent_list[2].choose_action(observation)\n",
    "#     action = choose_action(observation, Q, epsilon = 0)\n",
    "    # 执行action，获取新的信息\n",
    "    observation, reward, terminated, truncated, info = env.step(action)\n",
    "        \n",
    "    time.sleep(0.5)\n",
    "    \n",
    "    # 如果游戏结束，则结束当前循环\n",
    "    if terminated or truncated:\n",
    "        break\n",
    "\n",
    "# 游戏结束\n",
    "gym_helper.render(title = \"Finished\")\n",
    "# 关闭环境\n",
    "env.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "96b90545",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ -2.22178641,  48.7441804 , -10.        ,  -2.22178641],\n",
       "       [  0.        ,   0.        ,   0.        ,   0.        ],\n",
       "       [-10.        ,  -0.3444679 , -10.        ,  -0.29701   ],\n",
       "       [  0.        ,   0.        ,   0.        ,   0.        ],\n",
       "       [ -1.65486239,  -1.60225471,  59.03816703,  -1.6931361 ],\n",
       "       [ -1.10368866, -10.        ,  68.90700176, -10.        ],\n",
       "       [  4.4912108 ,  78.70529234,  -0.42661   ,  -0.42742   ],\n",
       "       [ -0.21439   ,   1.52      ,  -0.1       , -10.        ],\n",
       "       [ -1.57056807, -10.        , -10.        ,  -1.6364538 ],\n",
       "       [  0.        ,   0.        ,   0.        ,   0.        ],\n",
       "       [-10.        ,  -0.19      ,  88.92434743,  -0.1171    ],\n",
       "       [  9.53311524,  99.99153585,   0.        ,   0.        ],\n",
       "       [  0.        ,   0.        ,   0.        ,   0.        ],\n",
       "       [  0.        ,   0.        ,   0.        ,   0.        ],\n",
       "       [-10.        ,  -0.1       ,  10.        ,   0.        ],\n",
       "       [  0.        ,   0.        ,   0.        ,   0.        ]])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "agent_list[0].Q_table"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "6df71026",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([['下', '左', '上', '左'],\n",
       "       ['右', '右', '下', '下'],\n",
       "       ['左', '左', '右', '下'],\n",
       "       ['左', '左', '右', '左']], dtype='<U1')"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array([\"左\", \"下\", \"右\", \"上\"])[np.argmax(agent_list[0].Q_table.reshape(4, 4, 4), axis = 2)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b5a81c90",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([['下', '左', '下', '左'],\n",
       "       ['右', '右', '右', '下'],\n",
       "       ['上', '左', '右', '下'],\n",
       "       ['左', '左', '下', '左']], dtype='<U1')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array([\"左\", \"下\", \"右\", \"上\"])[np.argmax(agent_list[1].Q_table.reshape(4, 4, 4), axis = 2)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "f5f7c943",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([['下', '左', '下', '左'],\n",
       "       ['右', '右', '下', '下'],\n",
       "       ['上', '左', '右', '下'],\n",
       "       ['左', '左', '下', '左']], dtype='<U1')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array([\"左\", \"下\", \"右\", \"上\"])[np.argmax(agent_list[2].Q_table.reshape(4, 4, 4), axis = 2)]"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
